package com.javaee.ejb.session.remote;

import java.util.List;

import javax.ejb.Remote;

import com.javaee.ejb.entity.Activity;

@Remote
public interface ActivityManagerRemote {

	/**
	 * Enregistre une activit�
	 * 
	 * @param activity
	 *            Activit� � enregistrer
	 * @return L'identifiant de l'activit� enregistr�e
	 */
	public int saveActivity(Activity activity);

	/**
	 * Retourne la liste des activit�s d'un employ�
	 * 
	 * @param idEmployee
	 *            Identifiant de l'employ�
	 * @param isValid
	 *            Validit� de l'activit�
	 * @return Retourne une liste d'activit�s
	 */
	public List<Activity> getListByEmployeeId(int employeeId, Boolean isValid);

	/**
	 * Retourne les derni�res activit�s d'un employ�
	 * 
	 * @param employeId
	 *            Identifiant de l'employ�
	 * @param nbActivies
	 *            Nombres d'activ�s � retourner
	 * @return Une liste d'activit�s
	 */
	public List<Activity> getLastActivitiesListByEmployeeIdWithProject(
			int employeId, int nbActivies);

	/**
	 * Retourne la liste des activites pour un projet
	 * 
	 * @param projectId
	 *            Identifiant du projet
	 * @return Une liste d'activites
	 */
	public List<Activity> getListByProjectId(int projectId);
	
	/**
	 * Retourne une activite
	 * 
	 * @param activityId
	 *            Identifiant de l'activite
	 * @return Une activite
	 */
	public Activity getById(int activityId);
}
